#coding:utf-8
import pickle
'''
勇者大冒险游戏:
1.选择读取存档或者新建存档
      读取存档，正确输入角色姓名即成功读档
2.玩家属性有:
  dic = {'name':'tyy','exp':'','lev':'','hp':''}
  多个玩家信息如何存放？  用列表存放  list=[dic1,dic2,dic3]
  每个用户当做一个字典，存进一个list中，把list序列化进文件里
    姓名：Name
    经验值：Exp(初始值为0)
    等级：Lev 每100点经验值升一级(0-100:1级，101-200:2级)(初始值为1)
    血量：HP(初始值为100) 每升一级随机增加HP(50-100)
3.读取存档或者创建新存档后显示当前玩家信息
4.进入游戏后可选功能
    a.探险    b.休息    c.查看当前角色信息     d.存档退出
    a.探险:随机碰到怪物       史莱克,出现概率70%(打败后经验值+30) 随机对玩家造成10,15,20伤害
                    狼人,出现概率20%(打败后经验值+80)  随机对玩家造成30,45,50伤害
                    菜虚鲲,出现概率10%(打败后经验值+250)随机对玩家造成50,100,150伤害,击败后增加300HP
      打印:你遇到了XXX,受到了XX点伤害,获得了XX经验
    b.随机增加血量(10-20),但休息的间隔为10s,10s内无法再休息,没到时间休息也算休息了一次,要再过10s
    cd.字面意思
'''
def login(list):
    print(list)
    userName = input('请输入角色名')
    for dic in list:
        if userName not in dic[0]:
            print('请输入正确的角色名')
            userName = input('请输入角色名')
        else:
            play()
def new(list):
    list=[]
    name = input('请输入角色名:')
    for dic in list:
        if name not in dic[0]:
            dic[0] = name
            exp = 0
            lev = 0
            hp = 100
            dic = {'name':name,
                   'exp':exp,
                   'lev':lev,
                   'hp':hp}
            for i in dic:
                list.append(i)
            f = open('user.txt','wb')
            pickle.dump(list,f)
            f.close()
        else:
            print('角色名已存在，请重新输入！')
            break
    
    
    
def play():
    cho = input('请输入你的选择:1.探险2.休息3.查看当前角色信息4.存档退出')
    if cho == '1':
        pass
    elif cho == '2':
        pass
    elif cho == '3':
        pass
    else:
        brek
#查询角色
def query_user():
    pass
    
    
        
print('---欢迎来到勇者大冒险游戏---')
#得到该游戏的用户list
list=[]
try:
    f = open('user.txt','ab+')
    f.seek(0)
    list = pickle.load(f) #如果文件为空，此处异常
    f.close() 
except Exception as e:
    print(e)
    print('初始化list')
    list=[]
    f = open('user.txt','wb')
    pickle.dump(list,f)
    f.close()

while True:
    cho = input('请输入你的选择:1.读档 2.新建存档 3.退出(其他操作视为退出)')
    if cho=='1':
        login(list)
    elif cho=='2':
        new(list)
    else:
        print('谢谢你的游玩！')
        break